package com.ruoyi.life.service;

import com.ruoyi.omp.api.domain.FeBill;

import java.util.List;

/**
 * 应收账单Service接口
 *
 * @author cjie
 * @date 2021-09-23
 */
public interface IFeBillService {
    /**
     * 查询应收账单
     *
     * @param id 应收账单ID
     * @return 应收账单
     */
     FeBill selectFeBillById(String id);

    /**
     * 查询应收账单列表
     *
     * @param feBill 应收账单
     * @return 应收账单集合
     */
     List<FeBill> selectFeBillList(FeBill feBill);

    /**
     * 新增应收账单
     *
     * @param feBill 应收账单
     * @return 结果
     */
     int insertFeBill(FeBill feBill);

    /**
     * 修改应收账单
     *
     * @param feBill 应收账单
     * @return 结果
     */
     int updateFeBill(FeBill feBill);

    /**
     * 批量删除应收账单
     *
     * @param ids 需要删除的应收账单ID
     * @return 结果
     */
     int deleteFeBillByIds(String[] ids);

    /**
     * 删除应收账单信息
     *
     * @param id 应收账单ID
     * @return 结果
     */
     int deleteFeBillById(String id);

    /**
     * 查询对应租赁记录及费用类型的最后一条记录
     * @param feBill 收费账单
     * @return
     */
    FeBill selectLastBillByRecordIdAndFeeType(FeBill feBill);

    /**
     * 查询所有已过截止期限但未付清的账单
     * @param feBill
     * @return
     */
    List<FeBill> listBill(FeBill feBill);
}
